  class ListNode {
    int val;
      ListNode next;
      ListNode() {}
      ListNode(int val) { this.val = val; }
      ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 }
public class demo1 {
    public ListNode swapPairs(ListNode head) {
        if (head == null || head.next == null) return head;
        ListNode cur = swapPairs(head.next.next);
        ListNode newNode = head.next;
        newNode.next = head;
        head.next = cur;
        return newNode;
    }
}